﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace TrabajoPractico1
{
    public class NodoArbol
    {
        private string elemento;
        private List<NodoArbol> hijos=new List<NodoArbol>();
        private string padre;

        public NodoArbol(string elemento, string padre)
        {
            this.elemento = elemento;
            this.Padre = padre;
            ArrayList hijos = new ArrayList();
        }

        public string getElemento()
        {
            return elemento;

        }

        public void addHijo(NodoArbol hijo)
        {

                hijos.Add(hijo);
           
        }

        public List<NodoArbol> getHijos()
        {

            return hijos;

        }

        public bool esNodoHoja()
        {

            return hijos.Count > 0;

        }

        public string buscarPadre()
        {
            return this.Padre;
        }


        public string Padre
        {
            get { return padre; }
            set { padre = value; }
        }

        //public bool busquedaAnchura(string c)
        //{
        //    Queue<NodoArbol> colaAuxiliar = new Queue<NodoArbol>();
        //    colaAuxiliar.Enqueue(this);
        //    while (colaAuxiliar.Count != 0)
        //    {
        //        NodoArbol cabeza = colaAuxiliar.Dequeue();
        //        if (cabeza.getElemento() == c)
        //            return true;
        //        else
        //            foreach (NodoArbol hijo in cabeza.getHijos())
        //                colaAuxiliar.Enqueue(hijo);
        //    }
        //    return false;
    }

    }
